package com.example.android2021.kt_02

import android.view.ViewGroup


open class Toy(var name: String,var age:Int) {

    val email: String = "123"

    // 初始化块
    init {
        println("Person is created with name: $name and age: $age")
    }


    // 次构造函数
    constructor(name: String) : this(name, 0) {
        println("Person is created with name: $name and  age: $age")

    }


    open  fun make(){
        println("123")
    }



}


    // 接口里面定义的 方法默认都是 抽象方法，必须被实现 ！！！
    interface Drawable {
        fun draw() // 抽象方法
    }


interface  Animal1 {


     fun sound()

     // 具体的已经实现的方法
    fun hello() {
        println(" xixi haha ")
    }
}

class Dog(var name1: String, var age1: Int) : Animal1,Toy(name1,age1){

    init {

        println("$name1 's Dog  ")
    }
    override fun sound() {
        println("$name1 's Dog  barks")
        hello()   // 直接 调用接口的 具体已实现的方法

    }

    override fun make() {
        println("0000000")
    }


}

fun main() {


// 使用 Toy 类的对象
    var toy = Toy("zwj",20)
    println(toy.email)  // 输出 example@example.com


    val ani:Animal1 = Dog("zwj",20)
    ani.sound()

    var dog =  Dog("charlie",18)
    dog.hello()

}



